#pragma once

#include "Vectors.h"
#include "StlStringAndStreams.h"

class NameManager
{
	friend class GameManager;

public:	
	
	bool			LoadFromFile(const STL::string& i_Names , const STL::string& i_Surnames, const STL::string& i_teams);
	bool			IsLoaded() const;
	STL::string		GetAPeopleName() const;
	STL::string		GetATeamName() const;	
	void			SetTeamNameUsed(const STL::string& i_name) const;
	void			Clear();
	
private:

	NameManager();
	
	NameManager(const NameManager&);
	NameManager& operator= (const NameManager&);

	typedef STL::vector<STL::string> strContainer;
	
	strContainer	m_names;
	strContainer	m_surnames;
	strContainer	m_teams;
	bool			m_loaded;
	
	mutable IntVec	m_usedNames;
};

inline bool NameManager::IsLoaded() const
{
	return m_loaded==true;
}


	